package com.cskaoyan.javase.oop1._7exercise._1pvz;

/**
 * 用面向对象的思想模拟植物大战僵尸
 * 注意在实际开发中,我们一个java文件往往只会定义一个class
 * 那么我们把Demo作为测试类
 * 然后定义植物类和僵尸类
 *
 * 总结,对象与对象之间互相依赖,来完成某一个功能在开发中是很常见
 * 这主要依靠持有对象的引用作为成员变量来实现的.
 *
 * @since 17:18
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        Zombie zombie = new Zombie("🏈僵尸", 2000, 200, 50, null);
        Plant plant = new Plant(50, "豌豆射手", 600, 400, null);
        zombie.p = plant;
        plant.z = zombie;

        System.out.println("开始植物大战僵尸游戏!");
        zombie.move();
        plant.attack();
        zombie.beAttacked();
        System.out.println("🏈僵尸走近了豌豆射手");
        zombie.attack();
        plant.beAttacked();
        zombie.eat();
        System.out.println("Game Over!GG");
    }
}
